package try_catch_package;

public class try_catch_demo3 {
    public static void main(String[] args) {
        /*
            自己处理（捕获异常）灵魂四问：
                灵魂二问：如果try中可能会遇到多个问题，怎么执行？
                        会写多个catch与之对应
                        细节：
                            如果我们要捕获多个异常，这些异常中如果存在父子关系的话，那么父类一定要写在下面
         */

        int[] arr = {1, 2, 3, 4, 5, 6};

        try {
            System.out.println(arr[10]);//ArrayIndexOutOfBoundsException
            System.out.println(2 / 0);//ArithmeticException
            String s = null;
            System.out.println(s.equals("abc"));//NullPointerException

        } catch (ArrayIndexOutOfBoundsException | NullPointerException e) {
            System.out.println("索引越界了或者空指针异常");

        } catch (ArithmeticException e) {
            System.out.println("除数不能为0");

        } catch (Exception e) {
            System.out.println("Exception");

        }

        System.out.println("看看我执行了吗？");
    }
}
